<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>集合运算示例</title>
</head>
<body>
    <script>
        // 定义两个数组
        const array1 = [1, 2, 3, 4, 5];
        const array2 = [3, 4, 5, 6, 7];
        // 计算交集
        const intersectionArray = array1.filter(element => array2.includes(element));
        console.log("交集", intersectionArray);
        // 这里使用filter函数遍历array1中的每个元素，
        // 如果该元素在array2中也存在（通过includes方法判断），
        // 则将其保留在intersectionArray中，最终得到交集数组
        // 计算并集
        const combinedArray = [...array1,...array2];
        const unionArray = [...new Set(combinedArray)];
        console.log("并集", unionArray);
        // 首先通过扩展运算符将array1和array2的元素合并到combinedArray中
        // 然后利用Set数据结构的唯一性特性去除重复元素，
        // 最后再通过扩展运算符将Set中的元素展开回数组得到并集数组
        // 计算差集（array1相对于array2的差集，即在array1中但不在array2中的元素）
        const differenceArray = array1.filter(element =>!array2.includes(element));
        const differenceArray2 = array2.filter(element =>!array1.includes(element));
        console.log("差集", differenceArray);
        console.log("差集", differenceArray2);
        // 同样使用filter函数遍历array1中的每个元素，\
        // 如果该元素不在array2中（通过!includes方法判断）
        // 则将其保留在differenceArray中，从而得到差集数组
    </script>
</body>
</html>